{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "import sys \n",
    "from os import getcwd, path\n",
    "sys.path.append(path.dirname(getcwd()))\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sb\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import sys\n",
    "default_stdout = sys.stdout\n",
    "default_stderr = sys.stderr\n",
    "reload(sys)\n",
    "sys.stdout = default_stdout\n",
    "sys.stderr = default_stderr\n",
    "sys.setdefaultencoding(\"utf-8\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from utils import data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{'dataframe_hash': 680204259460919008,\n",
      " 'provenance_file_summary': {u'cohorts': u'0.4.0+3.gda968fb',\n",
      "                             u'isovar': u'0.0.6',\n",
      "                             u'mhctools': u'0.3.0',\n",
      "                             u'numpy': u'1.11.1',\n",
      "                             u'pandas': u'0.18.1',\n",
      "                             u'pyensembl': u'1.0.3',\n",
      "                             u'scipy': u'0.18.1',\n",
      "                             u'topiary': u'0.1.0',\n",
      "                             u'varcode': u'0.5.10'}}\n"
     ]
    }
   ],
   "source": [
    "cohort = data.init_cohort(join_with=[\"tcr_peripheral_a\", \"tcr_tumor\"], \n",
    "                          exclude_patient_ids=set(),\n",
    "                          only_patients_with_bams=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n"
     ]
    }
   ],
   "source": [
    "df = cohort.as_dataframe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "high_tumor_and_low_blood_clonality_description = (\n",
    "    \"\\n%s > median,\" \n",
    "    \"\\n%s ≤ median\") % (\n",
    "    cohort.tcr_tumor_clonality_plot_name,\n",
    "    cohort.tcr_peripheral_a_clonality_plot_name)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def high_tumor_and_low_blood_clonality(row):\n",
    "    either = ((row[\"Clonality_tcr_peripheral_a\"] <= df[\"Clonality_tcr_peripheral_a\"].median()) and \n",
    "              (row[\"Clonality_tcr_tumor\"] > df[\"Clonality_tcr_tumor\"].median()))\n",
    "    return either"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def high_tumor_or_low_blood_clonality(row):\n",
    "    either = ((row[\"Clonality_tcr_peripheral_a\"] <= df[\"Clonality_tcr_peripheral_a\"].median()) or \n",
    "              (row[\"Clonality_tcr_tumor\"] > df[\"Clonality_tcr_tumor\"].median()))\n",
    "    return either"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def low_tumor_and_high_blood_clonality(row):\n",
    "    either = ((row[\"Clonality_tcr_peripheral_a\"] > df[\"Clonality_tcr_peripheral_a\"].median()) and \n",
    "              (row[\"Clonality_tcr_tumor\"] <= df[\"Clonality_tcr_tumor\"].median()))\n",
    "    return either"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from utils.paper import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "\n",
      "TIL Clonality > median,\n",
      "Pre-treatment Peripheral TCR Clonality ≤ median False  \\\n",
      "Response                                                                          \n",
      "DCB                                                                           3   \n",
      "No DCB                                                                       15   \n",
      "\n",
      "\n",
      "TIL Clonality > median,\n",
      "Pre-treatment Peripheral TCR Clonality ≤ median True   \n",
      "Response                                                                         \n",
      "DCB                                                                           5  \n",
      "No DCB                                                                        1  \n",
      "Fisher's Exact Test: OR: 0.04, p-value=0.00686498855835 (two-sided)\n",
      "{{{til_high_blood_low_pfs_plot}}}\n",
      "{{{til_high_blood_low_pfs_benefit:63%}}}\n",
      "{{{til_high_blood_low_pfs_no_benefit:6%}}}\n",
      "{{{til_high_blood_low_pfs_fishers:n=24, Fisher's Exact p=0.0069}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8bb7e4a150>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fishers_exact_hyper_label_printer(\n",
    "    cohort.plot_benefit(on={high_tumor_and_low_blood_clonality_description: high_tumor_and_low_blood_clonality}),\n",
    "    label=\"til_high_blood_low_pfs\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "\n",
      "TIL Clonality > median,\n",
      "Pre-treatment Peripheral TCR Clonality ≤ median False  \\\n",
      "Response                                                                          \n",
      "DCB-OS                                                                        6   \n",
      "No DCB-OS                                                                    12   \n",
      "\n",
      "\n",
      "TIL Clonality > median,\n",
      "Pre-treatment Peripheral TCR Clonality ≤ median True   \n",
      "Response                                                                         \n",
      "DCB-OS                                                                        6  \n",
      "No DCB-OS                                                                     0  \n",
      "Fisher's Exact Test: OR: 0.0, p-value=0.0137299771167 (two-sided)\n",
      "{{{til_high_blood_low_os_plot}}}\n",
      "{{{til_high_blood_low_os_benefit:50%}}}\n",
      "{{{til_high_blood_low_os_no_benefit:0%}}}\n",
      "{{{til_high_blood_low_os_fishers:n=24, Fisher's Exact p=0.014}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8b75cd0110>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fishers_exact_hyper_label_printer(\n",
    "    cohort.plot_benefit_os(on={high_tumor_and_low_blood_clonality_description: high_tumor_and_low_blood_clonality}),\n",
    "    label=\"til_high_blood_low_os\")\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "high_tumor_or_low_blood_clonality  False  True \n",
      "Response                                       \n",
      "DCB                                    2      6\n",
      "No DCB                                 4     12\n",
      "Fisher's Exact Test: OR: 1.0, p-value=1.0 (two-sided)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "FishersExactResults(oddsratio=1.0, p_value=1.0, sided_str='two-sided')"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\ndeqUe3y7du3w008/wc7ODoaGhrJrJiKqrRQKBf7++2+0a9euzO2CqHyPtxyurq7SglYvUo4lSUpK\nkl1UQUEBBg8eDBMTE0ycOBHAs7fCCgoKsGvXLpiZmQEA0tPT4ePjg9DQUAQHB0vHf/bZZzhx4gSm\nTJkCR0dHbN68GXFxcdi6dStcXV1l10FERJqT/fqvjLyRzczMDNHR0YiMjER4eDhEUYSnpyciIiKk\nEFFe8/kxK0pff/01Fi9ejCVLliA/Px+urq5Yt24dQ4SIqAbIuiMhIiJSR9bIdiIiInVkd20VFxdj\n06ZNOHHiBHJzc7Ft2zbs2bMHCoUCPXv2hK2trTbrJCIiHSUrSAoLC+Hn54crV65ID9cB4OjRo9i3\nbx+++OILjBo1SquFUsV27NiBiIgIWFpaIjY2FhYWFtI2hUKBtm3bIjQ0FKGhodV2LSUzMzPY2Nig\nTZs26N+/v9oZELKzs7F+/XocOXIEaWlpEEURTZo0Qe/eveHv7y+tcePl5aUyXsjMzAxNmjTB0KFD\nMXLkSI3rJ/1Qle8Zv2Mvn6wgWbFiBS5fvlyqfdCgQdi7dy/i4uIYJDokPz8fa9aswWeffabV6wiC\ngKioKDRs2BDFxcVIT09HXFwc/vnPf2Lbtm1YtWoVjI2Npf2Tk5PxySefQBAE+Pv7o23btgCApKQk\nbN26Fbdu3cJ3330n7d+jRw+EhYUBAB4+fIgjR47gq6++wpMnT8qdIZpeLZX5nvE7VkNEGfr06SO6\nurqK69atE1u1aiW6urqKoiiKOTk5YqtWrcRevXrJOQ1p2fbt28VWrVqJo0ePFtu3by9mZWVJ2548\neSK2atVK/O6776rtWq6uruKdO3dKbTt48KDo6uoqzp49W+X6//jHP8Q+ffqIDx48KHWMQqEQjx49\nKn3u3bu3+Pnnn5fab/jw4eLQoUOr5e9Auq8y3zN+x2qOrIftytu/F0eDK1/VvX//fjXHG1WVIAiY\nMGECAMham+XSpUsIDAxEhw4d0KFDBwQGBuLSpUsa1fDOO+/A29sbP//8M4qKigAABw8exK1btzBl\nyhTY2NiUOsbAwABvv/12hec2NzfnUgEEoPT3jN+xmlOppXYfPXqk0n7lyhUAUBn7QTXvtddeg6+v\nL7Zt21bu8sXXrl2Dn58f8vPzMX/+fMyfPx8PHz6En58frl+/rlENb7/9NoqLi6Uu0VOnTsHIyAg9\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8b75dbf410>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cohort.plot_benefit(high_tumor_or_low_blood_clonality)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "high_tumor_or_low_blood_clonality  False  True \n",
      "Response                                       \n",
      "DCB                                    2     10\n",
      "No DCB                                 4      8\n",
      "Fisher's Exact Test: OR: 0.4, p-value=0.640405361229 (two-sided)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "FishersExactResults(oddsratio=0.4, p_value=0.640405361229, sided_str='two-sided')"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8b78330850>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cohort.plot_benefit(high_tumor_or_low_blood_clonality, benefit_col=\"is_benefit_os\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "low_tumor_and_high_blood_clonality  False  True \n",
      "Response                                        \n",
      "DCB                                     6      2\n",
      "No DCB                                 12      4\n",
      "Fisher's Exact Test: OR: 1.0, p-value=1.0 (two-sided)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "FishersExactResults(oddsratio=1.0, p_value=1.0, sided_str='two-sided')"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8b757b4c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cohort.plot_benefit(low_tumor_and_high_blood_clonality)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "low_tumor_and_high_blood_clonality  False  True \n",
      "Response                                        \n",
      "DCB                                    10      2\n",
      "No DCB                                  8      4\n",
      "Fisher's Exact Test: OR: 2.5, p-value=0.640405361229 (two-sided)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "FishersExactResults(oddsratio=2.5, p_value=0.640405361229, sided_str='two-sided')"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nQUREmpOUSNLT0zFlyhTk5+crf6k/evQIp06dwtSpU/H777/DyspKrQtbWloiNDS0xn2sra2RmJio\n0ubu7g53d3e1rkVERNoj6T2S8PBwKBQKiKIIc3NzdOnSBebm5hBFEQqFAt9//7224yQiIj0lKZGc\nOXMGgiDA19cXp0+fxq5du3D69Gn4+vpCFEWcOnVK23ESEZGekpRI7t69CwB4++23YWDw+BADAwNM\nnz5dZTsRETU8khJJ06ZNAQDXr19Xab9x44bKdiIiangkDbZ3794dZ8+eha+vL8aNGwcrKyvI5XLs\n3r0bgiCge/fu2o6TiIj0lKRE8tZbb+Hs2bPIz89XeTmxvHSKl5eX1gIkIiL9Jqlry8PDA3PnzoWh\noaHKux2NGjXC3LlzMXToUG3HSUREekryC4nvvvsuxowZg1OnTuHevXto1aoVBgwYgHbt2mkzPiIi\n0nNqlUixsrLCxIkTtRULERHVQ5ITyZ07d3Dw4EHI5fJKC1sJgoCgoKA6D46IiPSfpERy9OhRvP/+\n+ygtLa12HyYSIqKGSVIi+e677/Do0aNqtwuCUGcBERFR/SIpkfz1118QBAELFy7E0KFD0bhxY23H\nRURE9YSkROLg4IArV67gtddeg0wm03ZMRERUj0h6jyQwMBDGxsb44IMPcO7cOfz111+Qy+UqX0RE\n1DBJfiLp1asXTp06hdOnT1faLggCrl27VufBERGR/pOUSL744gucO3cOgiCorFZIREQkefov8LjK\nr52dHYyMjLQaFBER1R+SEomxsTH++ecf7Nu3jyVRiIhIhaTB9smTJwMAsrKytBoMERHVP5KeSMrK\nytCiRQtMnz4dw4YNg7W1NQwNDVX28ff310qARESk3yQlkvDwcOVA+969e6vch4mEiKhhkly0sXy2\nVlWztlgihYio4ZKUSJYtW6btOIiIqJ6SlEgmTJig7TiIiKiekjRri4iIqDqSnkg8PDxq3C4IgvKl\nRSIialgkJZL09PRK5VHKB9hFUeRgOxFRAyYpkVhZWal8Li0tRU5ODh49eoTGjRujTZs2WgmOiIj0\nn6REcuzYsUptDx8+RGhoKH766SfO6iIiasCeerDdxMQECxcuROPGjfHdd9+pfXxmZibmzJkDFxcX\nODs7IyAgABkZGbUed+XKFfznP//ByJEj0atXLwwdOhTz589HWlra0/wYRESkIY1mbV29ehWFhYX4\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8b75d4f510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cohort.plot_benefit(low_tumor_and_high_blood_clonality, benefit_col=\"is_benefit_os\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Adapted from statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLSResults.html compare_lr\n",
    "def compare_lr(model, other_model):\n",
    "    from scipy import stats\n",
    "    ll_model = model.llf\n",
    "    ll_other_model = other_model.llf\n",
    "    df_model = model.df_resid\n",
    "    df_other_model = other_model.df_resid\n",
    "\n",
    "    lrdf = (df_other_model - df_model)\n",
    "    lrstat = -2*(ll_other_model - ll_model)\n",
    "    lr_pvalue = stats.chi2.sf(lrstat, lrdf)\n",
    "    return lrstat, lr_pvalue, lrdf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import statsmodels.api as sm\n",
    "from statsmodels.formula.api import logit, probit, poisson, ols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df.rename(columns={\"Clonality_tcr_peripheral_a\": \"blood_clonality\",\n",
    "                   \"Clonality_tcr_tumor\": \"tumor_clonality\",\n",
    "                   \"T-cell fraction_tcr_tumor\": \"til_fraction\"}, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def add_rescaled_cols(d, col):\n",
    "    import numpy as np\n",
    "    log_col = \"log_%s\" % col\n",
    "    log_col_centered = \"log_%s_centered\" % col\n",
    "    log_col_rescaled = \"log_%s_rescaled\" % col\n",
    "    d[log_col] = np.log1p(d[col])\n",
    "    d[log_col_centered] = d[log_col] - np.mean(d[log_col])\n",
    "    d[log_col_rescaled] = d[log_col_centered] / np.std(d[log_col_centered])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "add_rescaled_cols(df, \"blood_clonality\")\n",
    "add_rescaled_cols(df, \"tumor_clonality\")\n",
    "add_rescaled_cols(df, \"til_fraction\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from utils.paper import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def run_with_benefit_col(benefit_col, how):\n",
    "    df[\"benefit\"] = df[benefit_col].apply(lambda b: 1 if b else 0)\n",
    "    \n",
    "    null_model = logit(\"benefit ~ 1\", df).fit()\n",
    "    model_blood = logit(\"benefit ~ log_blood_clonality_rescaled\", df).fit()\n",
    "    model_tumor = logit(\"benefit ~ log_tumor_clonality_rescaled\", df).fit()\n",
    "    model_blood_tumor = logit(\"benefit ~ log_blood_clonality_rescaled * log_tumor_clonality_rescaled\", df).fit()\n",
    "    model_blood_tumor_and_fraction = logit(\"benefit ~ log_blood_clonality_rescaled * log_tumor_clonality_rescaled * log_til_fraction_rescaled\", df).fit()\n",
    "    \n",
    "    def llr_formatter(results):\n",
    "        return \"n=%d, log-likelihood p=%s\" % (len(cohort.as_dataframe()), float_str(results[1]))\n",
    "    \n",
    "    hyper_label_printer(llr_formatter, label=\"llr_tumor_vs_null_%s\" % how, results=(\n",
    "        compare_lr(model_tumor, null_model)))\n",
    "    hyper_label_printer(llr_formatter, label=\"llr_blood_vs_null_%s\" % how, results=(\n",
    "        compare_lr(model_blood, null_model)))\n",
    "    hyper_label_printer(llr_formatter, label=\"llr_blood_tumor_vs_null_%s\" % how, results=(\n",
    "        compare_lr(model_blood_tumor, null_model)))\n",
    "    hyper_label_printer(llr_formatter, label=\"llr_blood_tumor_vs_tumor_%s\" % how, results=(\n",
    "        compare_lr(model_blood_tumor, model_tumor)))\n",
    "    hyper_label_printer(llr_formatter, label=\"llr_blood_tumor_vs_blood_%s\" % how, results=(\n",
    "        compare_lr(model_blood_tumor, model_blood)))\n",
    "    \n",
    "    hyper_label_printer(llr_formatter, label=\"llr_blood_tumor_clonality_and_til_fraction_vs_null_%s\" % how, results=(\n",
    "        compare_lr(model_blood_tumor_and_fraction, null_model)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization terminated successfully.\n",
      "         Current function value: 0.636514\n",
      "         Iterations 4\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.606352\n",
      "         Iterations 5\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.582929\n",
      "         Iterations 5\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.266716\n",
      "         Iterations 9\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.176987\n",
      "         Iterations 10\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{llr_tumor_vs_null_pfs:n=24, log-likelihood p=0.11}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_blood_vs_null_pfs:n=24, log-likelihood p=0.23}}}\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_blood_tumor_vs_null_pfs:n=24, log-likelihood p=0.00050}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_blood_tumor_vs_tumor_pfs:n=24, log-likelihood p=0.00051}}}\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_blood_tumor_vs_blood_pfs:n=24, log-likelihood p=0.00029}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_blood_tumor_clonality_and_til_fraction_vs_null_pfs:n=24, log-likelihood p=0.0025}}}\n"
     ]
    }
   ],
   "source": [
    "run_with_benefit_col(\"is_benefit\", \"pfs\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization terminated successfully.\n",
      "         Current function value: 0.693147\n",
      "         Iterations 1\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.531276\n",
      "         Iterations 6\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.684448\n",
      "         Iterations 4\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.440796\n",
      "         Iterations 7\n",
      "Optimization terminated successfully.\n",
      "         Current function value: 0.268061\n",
      "         Iterations 10\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_tumor_vs_null_os:n=24, log-likelihood p=0.52}}}\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_blood_vs_null_os:n=24, log-likelihood p=0.0053}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{llr_blood_tumor_vs_null_os:n=24, log-likelihood p=0.0070}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_blood_tumor_vs_tumor_os:n=24, log-likelihood p=0.0029}}}\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n",
      "{{{llr_blood_tumor_vs_blood_os:n=24, log-likelihood p=0.11}}}\n",
      "inner join with tcr_tumor: 29 to 24 rows\n",
      "inner join with tcr_peripheral_a: 24 to 24 rows\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{{{llr_blood_tumor_clonality_and_til_fraction_vs_null_os:n=24, log-likelihood p=0.0048}}}\n"
     ]
    }
   ],
   "source": [
    "run_with_benefit_col(\"is_benefit_os\", \"os\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
